    mesh.setNumVerts(88);
    mesh.setNumFaces(99);
    mesh.setVert(0, size * Point3(-0.707107,0.707107,0.000000));
    mesh.setVert(1, size * Point3(0.000000,0.707107,0.000000));
    mesh.setVert(2, size * Point3(0.707107,0.707107,0.000000));
    mesh.setVert(3, size * Point3(-0.707107,-0.707107,0.000000));
    mesh.setVert(4, size * Point3(0.000000,-0.707107,0.000000));
    mesh.setVert(5, size * Point3(0.707107,-0.707107,0.000000));
    mesh.setVert(6, size * Point3(0.707107,-0.000000,0.000000));
    mesh.setVert(7, size * Point3(0.000000,0.000000,-0.669281));
    mesh.setVert(8, size * Point3(-0.707107,-0.000000,0.000000));
    mesh.setVert(9, size * Point3(0.000000,-0.000000,0.669281));
    mesh.setVert(10, size * Point3(0.219425,0.109512,0.259798));
    mesh.setVert(11, size * Point3(0.219425,0.145574,0.322260));
    mesh.setVert(12, size * Point3(0.165331,0.145574,0.291029));
    mesh.setVert(13, size * Point3(0.165331,0.145574,0.228567));
    mesh.setVert(14, size * Point3(0.219425,0.145574,0.197336));
    mesh.setVert(15, size * Point3(0.273518,0.145574,0.228567));
    mesh.setVert(16, size * Point3(0.273518,0.145574,0.291029));
    mesh.setVert(17, size * Point3(0.219425,0.217699,0.322260));
    mesh.setVert(18, size * Point3(0.165331,0.217699,0.291029));
    mesh.setVert(19, size * Point3(0.165331,0.217699,0.228567));
    mesh.setVert(20, size * Point3(0.219425,0.217699,0.197336));
    mesh.setVert(21, size * Point3(0.273518,0.217699,0.228567));
    mesh.setVert(22, size * Point3(0.273518,0.217699,0.291029));
    mesh.setVert(23, size * Point3(0.219425,0.253761,0.259798));
    mesh.setVert(24, size * Point3(-0.426216,0.228993,-0.136859));
    mesh.setVert(25, size * Point3(-0.360085,0.208861,-0.112403));
    mesh.setVert(26, size * Point3(-0.313941,0.194487,-0.094083));
    mesh.setVert(27, size * Point3(-0.282842,0.183430,-0.079436));
    mesh.setVert(28, size * Point3(-0.261848,0.173626,-0.066000));
    mesh.setVert(29, size * Point3(-0.246017,0.163282,-0.051311));
    mesh.setVert(30, size * Point3(-0.230409,0.150869,-0.032907));
    mesh.setVert(31, size * Point3(-0.210081,0.135242,-0.008324));
    mesh.setVert(32, size * Point3(-0.186682,0.117680,0.021616));
    mesh.setVert(33, size * Point3(-0.165152,0.100277,0.054450));
    mesh.setVert(34, size * Point3(-0.145491,0.083548,0.090180));
    mesh.setVert(35, size * Point3(-0.127700,0.068052,0.128803));
    mesh.setVert(36, size * Point3(-0.111778,0.054392,0.170321));
    mesh.setVert(37, size * Point3(-0.097725,0.043219,0.214734));
    mesh.setVert(38, size * Point3(-0.085541,0.035229,0.262040));
    mesh.setVert(39, size * Point3(-0.037441,0.037013,0.249104));
    mesh.setVert(40, size * Point3(0.017968,0.035493,0.259980));
    mesh.setVert(41, size * Point3(0.112763,0.110618,0.034503));
    mesh.setVert(42, size * Point3(0.125697,0.124146,0.010268));
    mesh.setVert(43, size * Point3(0.140124,0.137626,-0.012188));
    mesh.setVert(44, size * Point3(0.156042,0.150841,-0.032864));
    mesh.setVert(45, size * Point3(0.173454,0.163593,-0.051761));
    mesh.setVert(46, size * Point3(0.192358,0.175700,-0.068879));
    mesh.setVert(47, size * Point3(0.212754,0.186997,-0.084218));
    mesh.setVert(48, size * Point3(0.234642,0.197337,-0.097777));
    mesh.setVert(49, size * Point3(0.258023,0.206589,-0.109557));
    mesh.setVert(50, size * Point3(0.282897,0.214639,-0.119558));
    mesh.setVert(51, size * Point3(0.309262,0.221393,-0.127779));
    mesh.setVert(52, size * Point3(0.337120,0.226770,-0.134221));
    mesh.setVert(53, size * Point3(0.366471,0.230708,-0.138884));
    mesh.setVert(54, size * Point3(0.397314,0.233163,-0.141768));
    mesh.setVert(55, size * Point3(0.429649,0.234108,-0.142872));
    mesh.setVert(56, size * Point3(-0.426216,-0.180601,-0.136859));
    mesh.setVert(57, size * Point3(-0.360085,-0.162176,-0.112403));
    mesh.setVert(58, size * Point3(-0.313941,-0.149020,-0.094083));
    mesh.setVert(59, size * Point3(-0.282842,-0.138900,-0.079436));
    mesh.setVert(60, size * Point3(-0.261848,-0.129927,-0.066000));
    mesh.setVert(61, size * Point3(-0.246017,-0.120459,-0.051311));
    mesh.setVert(62, size * Point3(-0.230409,-0.109099,-0.032907));
    mesh.setVert(63, size * Point3(-0.210081,-0.094796,-0.008324));
    mesh.setVert(64, size * Point3(-0.186682,-0.078723,0.021616));
    mesh.setVert(65, size * Point3(-0.165152,-0.062795,0.054450));
    mesh.setVert(66, size * Point3(-0.145491,-0.047484,0.090180));
    mesh.setVert(67, size * Point3(-0.127700,-0.033301,0.128803));
    mesh.setVert(68, size * Point3(-0.111778,-0.020799,0.170321));
    mesh.setVert(69, size * Point3(-0.097725,-0.010573,0.214733));
    mesh.setVert(70, size * Point3(-0.085541,-0.003260,0.262040));
    mesh.setVert(71, size * Point3(-0.037441,-0.004893,0.249104));
    mesh.setVert(72, size * Point3(0.017968,-0.003501,0.259980));
    mesh.setVert(73, size * Point3(0.112763,-0.072259,0.034503));
    mesh.setVert(74, size * Point3(0.125697,-0.084641,0.010268));
    mesh.setVert(75, size * Point3(0.140124,-0.096978,-0.012188));
    mesh.setVert(76, size * Point3(0.156042,-0.109073,-0.032864));
    mesh.setVert(77, size * Point3(0.173454,-0.120744,-0.051761));
    mesh.setVert(78, size * Point3(0.192358,-0.131825,-0.068879));
    mesh.setVert(79, size * Point3(0.212754,-0.142165,-0.084218));
    mesh.setVert(80, size * Point3(0.234642,-0.151628,-0.097777));
    mesh.setVert(81, size * Point3(0.258023,-0.160096,-0.109557));
    mesh.setVert(82, size * Point3(0.282897,-0.167464,-0.119558));
    mesh.setVert(83, size * Point3(0.309262,-0.173645,-0.127779));
    mesh.setVert(84, size * Point3(0.337120,-0.178566,-0.134221));
    mesh.setVert(85, size * Point3(0.366471,-0.182171,-0.138884));
    mesh.setVert(86, size * Point3(0.397314,-0.184418,-0.141768));
    mesh.setVert(87, size * Point3(0.429649,-0.185283,-0.142872));
    mesh.faces[0].setVerts(7,8,1);
    mesh.faces[0].setEdgeVisFlags(1,1,1);
    mesh.faces[0].setSmGroup(20);
    mesh.faces[1].setVerts(7,6,4);
    mesh.faces[1].setEdgeVisFlags(1,1,1);
    mesh.faces[1].setSmGroup(20);
    mesh.faces[2].setVerts(4,8,7);
    mesh.faces[2].setEdgeVisFlags(1,1,1);
    mesh.faces[2].setSmGroup(0);
    mesh.faces[3].setVerts(6,7,4);
    mesh.faces[3].setEdgeVisFlags(1,1,1);
    mesh.faces[3].setSmGroup(0);
    mesh.faces[4].setVerts(7,1,6);
    mesh.faces[4].setEdgeVisFlags(1,1,1);
    mesh.faces[4].setSmGroup(0);
    mesh.faces[5].setVerts(8,7,1);
    mesh.faces[5].setEdgeVisFlags(1,1,1);
    mesh.faces[5].setSmGroup(0);
    mesh.faces[6].setVerts(8,9,1);
    mesh.faces[6].setEdgeVisFlags(1,1,0);
    mesh.faces[6].setSmGroup(20);
    mesh.faces[7].setVerts(6,9,4);
    mesh.faces[7].setEdgeVisFlags(1,1,0);
    mesh.faces[7].setSmGroup(20);
    mesh.faces[8].setVerts(8,4,9);
    mesh.faces[8].setEdgeVisFlags(1,1,1);
    mesh.faces[8].setSmGroup(0);
    mesh.faces[9].setVerts(6,9,4);
    mesh.faces[9].setEdgeVisFlags(1,1,1);
    mesh.faces[9].setSmGroup(0);
    mesh.faces[10].setVerts(1,9,6);
    mesh.faces[10].setEdgeVisFlags(1,1,1);
    mesh.faces[10].setSmGroup(0);
    mesh.faces[11].setVerts(8,9,1);
    mesh.faces[11].setEdgeVisFlags(1,1,1);
    mesh.faces[11].setSmGroup(0);
    mesh.faces[12].setVerts(8,1,9);
    mesh.faces[12].setEdgeVisFlags(1,1,1);
    mesh.faces[12].setSmGroup(0);
    mesh.faces[13].setVerts(10,11,12);
    mesh.faces[13].setEdgeVisFlags(1,1,1);
    mesh.faces[13].setSmGroup(1);
    mesh.faces[14].setVerts(10,12,13);
    mesh.faces[14].setEdgeVisFlags(1,1,1);
    mesh.faces[14].setSmGroup(1);
    mesh.faces[15].setVerts(10,13,14);
    mesh.faces[15].setEdgeVisFlags(1,1,1);
    mesh.faces[15].setSmGroup(1);
    mesh.faces[16].setVerts(10,14,15);
    mesh.faces[16].setEdgeVisFlags(1,1,1);
    mesh.faces[16].setSmGroup(1);
    mesh.faces[17].setVerts(10,15,16);
    mesh.faces[17].setEdgeVisFlags(1,1,1);
    mesh.faces[17].setSmGroup(1);
    mesh.faces[18].setVerts(10,16,11);
    mesh.faces[18].setEdgeVisFlags(1,1,1);
    mesh.faces[18].setSmGroup(1);
    mesh.faces[19].setVerts(11,17,18);
    mesh.faces[19].setEdgeVisFlags(1,1,0);
    mesh.faces[19].setSmGroup(1);
    mesh.faces[20].setVerts(11,18,12);
    mesh.faces[20].setEdgeVisFlags(0,1,1);
    mesh.faces[20].setSmGroup(1);
    mesh.faces[21].setVerts(12,18,19);
    mesh.faces[21].setEdgeVisFlags(1,1,0);
    mesh.faces[21].setSmGroup(1);
    mesh.faces[22].setVerts(12,19,13);
    mesh.faces[22].setEdgeVisFlags(0,1,1);
    mesh.faces[22].setSmGroup(1);
    mesh.faces[23].setVerts(13,19,20);
    mesh.faces[23].setEdgeVisFlags(1,1,0);
    mesh.faces[23].setSmGroup(1);
    mesh.faces[24].setVerts(13,20,14);
    mesh.faces[24].setEdgeVisFlags(0,1,1);
    mesh.faces[24].setSmGroup(1);
    mesh.faces[25].setVerts(14,20,21);
    mesh.faces[25].setEdgeVisFlags(1,1,0);
    mesh.faces[25].setSmGroup(1);
    mesh.faces[26].setVerts(14,21,15);
    mesh.faces[26].setEdgeVisFlags(0,1,1);
    mesh.faces[26].setSmGroup(1);
    mesh.faces[27].setVerts(15,21,22);
    mesh.faces[27].setEdgeVisFlags(1,1,0);
    mesh.faces[27].setSmGroup(1);
    mesh.faces[28].setVerts(15,22,16);
    mesh.faces[28].setEdgeVisFlags(0,1,1);
    mesh.faces[28].setSmGroup(1);
    mesh.faces[29].setVerts(16,22,17);
    mesh.faces[29].setEdgeVisFlags(1,1,0);
    mesh.faces[29].setSmGroup(1);
    mesh.faces[30].setVerts(16,17,11);
    mesh.faces[30].setEdgeVisFlags(0,1,1);
    mesh.faces[30].setSmGroup(1);
    mesh.faces[31].setVerts(23,18,17);
    mesh.faces[31].setEdgeVisFlags(1,1,1);
    mesh.faces[31].setSmGroup(1);
    mesh.faces[32].setVerts(23,19,18);
    mesh.faces[32].setEdgeVisFlags(1,1,1);
    mesh.faces[32].setSmGroup(1);
    mesh.faces[33].setVerts(23,20,19);
    mesh.faces[33].setEdgeVisFlags(1,1,1);
    mesh.faces[33].setSmGroup(1);
    mesh.faces[34].setVerts(23,21,20);
    mesh.faces[34].setEdgeVisFlags(1,1,1);
    mesh.faces[34].setSmGroup(1);
    mesh.faces[35].setVerts(23,22,21);
    mesh.faces[35].setEdgeVisFlags(1,1,1);
    mesh.faces[35].setSmGroup(1);
    mesh.faces[36].setVerts(23,17,22);
    mesh.faces[36].setEdgeVisFlags(1,1,1);
    mesh.faces[36].setSmGroup(1);
    mesh.faces[37].setVerts(24,25,57);
    mesh.faces[37].setEdgeVisFlags(1,1,0);
    mesh.faces[37].setSmGroup(1);
    mesh.faces[38].setVerts(24,57,56);
    mesh.faces[38].setEdgeVisFlags(0,1,1);
    mesh.faces[38].setSmGroup(1);
    mesh.faces[39].setVerts(25,26,58);
    mesh.faces[39].setEdgeVisFlags(1,1,0);
    mesh.faces[39].setSmGroup(3);
    mesh.faces[40].setVerts(25,58,57);
    mesh.faces[40].setEdgeVisFlags(0,1,1);
    mesh.faces[40].setSmGroup(3);
    mesh.faces[41].setVerts(26,27,59);
    mesh.faces[41].setEdgeVisFlags(1,1,0);
    mesh.faces[41].setSmGroup(2);
    mesh.faces[42].setVerts(26,59,58);
    mesh.faces[42].setEdgeVisFlags(0,1,1);
    mesh.faces[42].setSmGroup(2);
    mesh.faces[43].setVerts(27,28,60);
    mesh.faces[43].setEdgeVisFlags(1,1,0);
    mesh.faces[43].setSmGroup(2);
    mesh.faces[44].setVerts(27,60,59);
    mesh.faces[44].setEdgeVisFlags(0,1,1);
    mesh.faces[44].setSmGroup(2);
    mesh.faces[45].setVerts(28,29,61);
    mesh.faces[45].setEdgeVisFlags(1,1,0);
    mesh.faces[45].setSmGroup(2);
    mesh.faces[46].setVerts(28,61,60);
    mesh.faces[46].setEdgeVisFlags(0,1,1);
    mesh.faces[46].setSmGroup(2);
    mesh.faces[47].setVerts(29,30,62);
    mesh.faces[47].setEdgeVisFlags(1,1,0);
    mesh.faces[47].setSmGroup(2);
    mesh.faces[48].setVerts(29,62,61);
    mesh.faces[48].setEdgeVisFlags(0,1,1);
    mesh.faces[48].setSmGroup(2);
    mesh.faces[49].setVerts(30,31,63);
    mesh.faces[49].setEdgeVisFlags(1,1,0);
    mesh.faces[49].setSmGroup(2);
    mesh.faces[50].setVerts(30,63,62);
    mesh.faces[50].setEdgeVisFlags(0,1,1);
    mesh.faces[50].setSmGroup(2);
    mesh.faces[51].setVerts(31,32,64);
    mesh.faces[51].setEdgeVisFlags(1,1,0);
    mesh.faces[51].setSmGroup(2);
    mesh.faces[52].setVerts(31,64,63);
    mesh.faces[52].setEdgeVisFlags(0,1,1);
    mesh.faces[52].setSmGroup(2);
    mesh.faces[53].setVerts(32,33,65);
    mesh.faces[53].setEdgeVisFlags(1,1,0);
    mesh.faces[53].setSmGroup(2);
    mesh.faces[54].setVerts(32,65,64);
    mesh.faces[54].setEdgeVisFlags(0,1,1);
    mesh.faces[54].setSmGroup(2);
    mesh.faces[55].setVerts(33,34,66);
    mesh.faces[55].setEdgeVisFlags(1,1,0);
    mesh.faces[55].setSmGroup(2);
    mesh.faces[56].setVerts(33,66,65);
    mesh.faces[56].setEdgeVisFlags(0,1,1);
    mesh.faces[56].setSmGroup(2);
    mesh.faces[57].setVerts(34,35,67);
    mesh.faces[57].setEdgeVisFlags(1,1,0);
    mesh.faces[57].setSmGroup(2);
    mesh.faces[58].setVerts(34,67,66);
    mesh.faces[58].setEdgeVisFlags(0,1,1);
    mesh.faces[58].setSmGroup(2);
    mesh.faces[59].setVerts(35,36,68);
    mesh.faces[59].setEdgeVisFlags(1,1,0);
    mesh.faces[59].setSmGroup(2);
    mesh.faces[60].setVerts(35,68,67);
    mesh.faces[60].setEdgeVisFlags(0,1,1);
    mesh.faces[60].setSmGroup(2);
    mesh.faces[61].setVerts(36,37,69);
    mesh.faces[61].setEdgeVisFlags(1,1,0);
    mesh.faces[61].setSmGroup(2);
    mesh.faces[62].setVerts(36,69,68);
    mesh.faces[62].setEdgeVisFlags(0,1,1);
    mesh.faces[62].setSmGroup(2);
    mesh.faces[63].setVerts(37,38,70);
    mesh.faces[63].setEdgeVisFlags(1,1,0);
    mesh.faces[63].setSmGroup(2);
    mesh.faces[64].setVerts(37,70,69);
    mesh.faces[64].setEdgeVisFlags(0,1,1);
    mesh.faces[64].setSmGroup(2);
    mesh.faces[65].setVerts(38,39,71);
    mesh.faces[65].setEdgeVisFlags(1,1,0);
    mesh.faces[65].setSmGroup(4);
    mesh.faces[66].setVerts(38,71,70);
    mesh.faces[66].setEdgeVisFlags(0,1,1);
    mesh.faces[66].setSmGroup(4);
    mesh.faces[67].setVerts(39,40,72);
    mesh.faces[67].setEdgeVisFlags(1,1,0);
    mesh.faces[67].setSmGroup(2);
    mesh.faces[68].setVerts(39,72,71);
    mesh.faces[68].setEdgeVisFlags(0,1,1);
    mesh.faces[68].setSmGroup(2);
    mesh.faces[69].setVerts(40,41,73);
    mesh.faces[69].setEdgeVisFlags(1,1,0);
    mesh.faces[69].setSmGroup(4);
    mesh.faces[70].setVerts(40,73,72);
    mesh.faces[70].setEdgeVisFlags(0,1,1);
    mesh.faces[70].setSmGroup(4);
    mesh.faces[71].setVerts(41,42,74);
    mesh.faces[71].setEdgeVisFlags(1,1,0);
    mesh.faces[71].setSmGroup(2);
    mesh.faces[72].setVerts(41,74,73);
    mesh.faces[72].setEdgeVisFlags(0,1,1);
    mesh.faces[72].setSmGroup(2);
    mesh.faces[73].setVerts(42,43,75);
    mesh.faces[73].setEdgeVisFlags(1,1,0);
    mesh.faces[73].setSmGroup(2);
    mesh.faces[74].setVerts(42,75,74);
    mesh.faces[74].setEdgeVisFlags(0,1,1);
    mesh.faces[74].setSmGroup(2);
    mesh.faces[75].setVerts(43,44,76);
    mesh.faces[75].setEdgeVisFlags(1,1,0);
    mesh.faces[75].setSmGroup(2);
    mesh.faces[76].setVerts(43,76,75);
    mesh.faces[76].setEdgeVisFlags(0,1,1);
    mesh.faces[76].setSmGroup(2);
    mesh.faces[77].setVerts(44,45,77);
    mesh.faces[77].setEdgeVisFlags(1,1,0);
    mesh.faces[77].setSmGroup(2);
    mesh.faces[78].setVerts(44,77,76);
    mesh.faces[78].setEdgeVisFlags(0,1,1);
    mesh.faces[78].setSmGroup(2);
    mesh.faces[79].setVerts(45,46,78);
    mesh.faces[79].setEdgeVisFlags(1,1,0);
    mesh.faces[79].setSmGroup(2);
    mesh.faces[80].setVerts(45,78,77);
    mesh.faces[80].setEdgeVisFlags(0,1,1);
    mesh.faces[80].setSmGroup(2);
    mesh.faces[81].setVerts(46,47,79);
    mesh.faces[81].setEdgeVisFlags(1,1,0);
    mesh.faces[81].setSmGroup(2);
    mesh.faces[82].setVerts(46,79,78);
    mesh.faces[82].setEdgeVisFlags(0,1,1);
    mesh.faces[82].setSmGroup(2);
    mesh.faces[83].setVerts(47,48,80);
    mesh.faces[83].setEdgeVisFlags(1,1,0);
    mesh.faces[83].setSmGroup(2);
    mesh.faces[84].setVerts(47,80,79);
    mesh.faces[84].setEdgeVisFlags(0,1,1);
    mesh.faces[84].setSmGroup(2);
    mesh.faces[85].setVerts(48,49,81);
    mesh.faces[85].setEdgeVisFlags(1,1,0);
    mesh.faces[85].setSmGroup(2);
    mesh.faces[86].setVerts(48,81,80);
    mesh.faces[86].setEdgeVisFlags(0,1,1);
    mesh.faces[86].setSmGroup(2);
    mesh.faces[87].setVerts(49,50,82);
    mesh.faces[87].setEdgeVisFlags(1,1,0);
    mesh.faces[87].setSmGroup(2);
    mesh.faces[88].setVerts(49,82,81);
    mesh.faces[88].setEdgeVisFlags(0,1,1);
    mesh.faces[88].setSmGroup(2);
    mesh.faces[89].setVerts(50,51,83);
    mesh.faces[89].setEdgeVisFlags(1,1,0);
    mesh.faces[89].setSmGroup(2);
    mesh.faces[90].setVerts(50,83,82);
    mesh.faces[90].setEdgeVisFlags(0,1,1);
    mesh.faces[90].setSmGroup(2);
    mesh.faces[91].setVerts(51,52,84);
    mesh.faces[91].setEdgeVisFlags(1,1,0);
    mesh.faces[91].setSmGroup(2);
    mesh.faces[92].setVerts(51,84,83);
    mesh.faces[92].setEdgeVisFlags(0,1,1);
    mesh.faces[92].setSmGroup(2);
    mesh.faces[93].setVerts(52,53,85);
    mesh.faces[93].setEdgeVisFlags(1,1,0);
    mesh.faces[93].setSmGroup(2);
    mesh.faces[94].setVerts(52,85,84);
    mesh.faces[94].setEdgeVisFlags(0,1,1);
    mesh.faces[94].setSmGroup(2);
    mesh.faces[95].setVerts(53,54,86);
    mesh.faces[95].setEdgeVisFlags(1,1,0);
    mesh.faces[95].setSmGroup(2);
    mesh.faces[96].setVerts(53,86,85);
    mesh.faces[96].setEdgeVisFlags(0,1,1);
    mesh.faces[96].setSmGroup(2);
    mesh.faces[97].setVerts(54,55,87);
    mesh.faces[97].setEdgeVisFlags(1,1,0);
    mesh.faces[97].setSmGroup(3);
    mesh.faces[98].setVerts(54,87,86);
    mesh.faces[98].setEdgeVisFlags(0,1,1);
    mesh.faces[98].setSmGroup(3);
